home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
STUTTGART
/
NEWSOFT
/
AUGUST
/
FREENET2
/
!FreeNet
/
Docs
/
Tuning
< prev
Wrap
Text File
|
1996-10-13
|
11KB
|
297 lines
Tuning the FreeNet TCP/IP Stack
(C) Tom Hughes 1995
0. Copyright
The FreeNet module and application and the tools and documentation
that go with them are all copyright. They are however released as
freeware subject to certain terms and conditions. These are described
in the file named 'Licence' which should have accompanied this
document.
1. Overview
The FreeNet TCP/IP stack has a number of low-level configuration options
which allow the behaviour of the stack to be tweaked in various ways.
Most of these will not be of interest to most users, as the stack comes
with the options preset to values which are sensible for most purposes,
but for those who may need to fiddle with these things, this document
describes the available options.
The options are all held in the file !FreeUser.Files.Config, where each
line is divided into three parts. The first part is the 'class' of the
option, and is used to group related options. The second is the option
name within the class, and the third is the value to set the option to.
2. The Options
This section lists each of the available options. The name of each option
is given along with the type of argument it takes, default value for the
option, and a description of it's effects. Options described as boolean
options take either 'yes', 'on' or 'true' as a true value, and anything
else as being false.
Option: arp timeout
Type: Numeric
Units: Minutes
Default: 20
Description: The length of time that an ARP entry will be cached
for. After this expires, a new ARP lookup will be done
next time the address is needed.
Option: arp retries
Type: Numeric
Default: 5
Description: The number of times an ARP lookup will be retried
before the host is considered as dead.
Option: arp downtime
Type: Numeric
Units: Seconds
Default: 20
Description: The length of time that a host that has failed to
respond to ARP queries will be considered as being
dead. After this period a new series of lookups
will be attempted.
Option: route timeout
Type: Numeric
Units: Minutes
Default: 10
Description: The length of time that an routing table entry that
is created dynamically (by a redirect or cloning) will
stay in existence after the last user of the route has
released it.
Option: ip forwarding
Type: Boolean
Default: Off
Description: Controls whether FreeNet will act as a router and
forward packets arriving on one interface to other
attached networks where necessary.
Option: ip sendredirects
Type: Boolean
Default: Off
Description: Controls whether FreeNet will send an ICMP redirect
message when it forwards a packet via the same interface
it arrived on.
Option: ip directedbroadcast
Type: Boolean
Default: Off
Description: Controls whether FreeNet will act upon directed
broadcasts targeted at attached networks.
Option: ip localsubnets
Type: Boolean
Default: Off
Description: Controls whether all subnets of a directly connected
net are considered local, or only the directly connected
subnet itself.
Option: ip firewall
Type: Boolean
Default: Off
Description: Controls whether packets are passed throught the built
in firewall or not. The firewall is configured with the
ipfw command.
Option: ip masquerading
Type: Boolean
Default: Off
Description: Controls whether the stack will masquerade for other
hosts or not. Masquerading is configured using the
ipfw command.
Option: ip ttl
Type: Numeric
Default: 64
Description: The default TTL for IP datagrams whose TTL is not set
more explicitly. This is always overidden for UDP and
TCP packets.
Option: tcp ttl
Type: Numeric
Default: 60
Description: The default TTL for TCP datagrams whose TTL is not set
more explicitly.
Option: tcp minrto
Type: Numeric
Units: Centiseconds
Default: 20
Description: The minimum value for a TCP retransmission timeout. The
stack will always wait this long before retransmitting
a TCP segment.
Option: tcp maxrto
Type: Numeric
Units: Centiseconds
Default: 6000
Description: The maximum value for a TCP retransmission timeout. The
stack will never wait any longer than this before
retransmitting a TCP segment.
Option: tcp minmss
Type: Numeric
Units: Bytes
Default: 32
Description: The minimum MSS value for a TCP connection.
Option: tcp maxmss
Type: Numeric
Units: Bytes
Default: 65495
Description: The maximum MSS value for a TCP connection.
Option: tcp defaultmss
Type: Numeric
Units: Bytes
Default: 536
Description: The default MSS value for a TCP connection that is
not considered to be a local connection.
Option: tcp timeout
Type: Numeric
Units: Seconds
Default: 75
Description: The length of time before a TCP connection attempt will
timeout and report a failure.
Option: tcp keeptimeout
Type: Numeric
Units: Minutes
Default: 120
Description: The frequency with which keepalive probes are sent on
those TCP connections which have them enabled. Only when
the connection has received no data for this length of
time will it start to actively check if it is still
alive.
Option: tcp keepinterval
Type: Numeric
Units: Seconds
Default: 75
Description: The length of time between succesive probes when trying
to check if a TCP connection is still alive.
Option: tcp idletimeout
Type: Numeric
Units: Seconds
Default: 600
Description: The length of time that TCP will probe a connection for
when the keepalive timer expires.
Option: tcp sendbuf
Type: Numeric
Units: Bytes
Default: 4096
Description: The default size of the send buffer for a TCP connection.
Option: tcp receivebuf
Type: Numeric
Units: Bytes
Default: 4096
Description: The default size of the receive buffer for a TCP
connection.
Option: udp ttl
Type: Numeric
Default: 60
Description: The default TTL for UDP datagrams whose TTL is not set
more explicitly.
Option: udp sendbuf
Type: Numeric
Units: Bytes
Default: 8192
Description: The default size of the send buffer for a UDP socket, and
the maximum size of packet that may be transmitted via a
UDP socket.
Option: udp receivebuf
Type: Numeric
Units: Bytes
Default: 20480
Description: The default size of the receive buffer for a UDP
socket.
Option: loopback mtu
Type: Numeric
Units: Butes
Default: 8192
Description: The MTU for the builtin loopback interface.
Option: bsd version
Type: Numeric
Default: 44
Description: The version of BSD which the FreeNet sockets interface
conforms to. The value given is multiplied by ten, so 44
is BSD 4.4, 43 is BSD 4.3 and so on.
Option: trace file
Type: Filename
Default: <FreeUser$Dir>.Trace
Description: The location of the file used to write packet traces when
tracing is enabled for an interface.
Option: debug file
Type: Filename
Default: <FreeUser$Dir>.Debug
Description: The file used to write debugging data. This option is
only really of use to developers of the stack who have
added code to write debugging information to the file.
Option: debug state
Type: Numeric
Default: 0
Description: Controls whether debugging information is currently
being written to the debugging file or not.
Option: log file
Type: Filename
Default: <FreeUser$Dir>.LogFile
Description: The file used to write log messages while the stack is
running.
Option: log level
Type: log level (info, warning or error)
Default: error
Description: Controls which logging message will be recorded in the
log file.
3. Changing Options on a Running Stack
Some of the above options may be changed while the stack is running by
using the NetConf command, whose syntax is as follows:
NetConf <class> <option> [<value>]
If you don't specify a value, the options current value will be shown,
otherwise a new value will be set.
4. Support for Interface Aliases
In certain circumstances, it is useful to be able to give one hardware
interface multiple addresses - this is typically done where several
subnets coexist on the same physical cable.
FreeNet supports this by using the ifconfig command to add additional
addresses for an interface:
ifconfig <interface> alias inet <address> [<remote-address>]
[netmask <netmask>] [broadcast <address>]
An interface alias can also be removed using the ifconfig command:
ifconfig <interface> -alias inet <address>
As an example, consider the commands to configure an ethernet interface
with the addresses 10.1.0.1 and 10.2.0.1, with netmask 0xffff0000:
ifconfig eb0 inet 10.1.0.1 netmask 0xffff0000
ifconfig eb0 alias inet 10.2.0.1 netmask 0xffff0000